Software-defined networking (SDN) based data centers often utilize virtual machines (VMs) or other virtual computing instances (e.g., containers, Docker containers, data compute nodes, isolated user space instances, namespace containers, etc.) that run within host computers. The host computers may be interconnected by a physical network infrastructure. Deployment of VMs within a host allows VMs to share the host's hardware resources, such as central processing unit (CPU) cycles, memory, etc. Hypervisors running on the hosts serve as an interface between the VMs and the hardware resources of the hosts.
As part of the operation of the data center, hypervisors may need to communicate control information between one another. For example, as a hypervisor's state changes, the hypervisor may communicate such a state change to other hypervisors in the data center to facilitate networking within the data center. An example of such a state change includes migration of a VM from a first host to a second host. In this example, the hypervisor of the second host may communicate to other hypervisors on other hosts in the data center that the VM is now located on the second host. Other hypervisors may utilize the state change information received from the hypervisor of the second host to modify their forwarding tables so that packets destined for the migrated VM are properly addressed to the VM on the second host.
For certain control information, such as the example of hypervisor state information, each hypervisor in the data center may need to be guaranteed to receive the control information, otherwise the data center may not function properly. To ensure that packets containing control information reach their destination, the packets may be sent between the hypervisors and one or more central servers (e.g., a central control plane (CCP) or management plane (MP)) server using a reliable protocol such as TCP so that the CCP or MP can relay control messages between the hypervisors.
However, centralized exchange of control information via a central server may delay the receipt of the control information by hypervisors in the data center, particularly if the central server is busy with other tasks. The delay may cause problems within a data center. For example, after a VM migrates from a first to a second host, packets intended for the VM may be sent to the first host until the hypervisor of the second host notifies all other hypervisors, through the central server, which can result in dropped packets.